package com.wonders.hisdoctor.station.project.base.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wonders.his.common.utils.validator.group.PrimaryGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * <p>医嘱执行频率字典</p>
 * <p>db_table: PERFORM_FREQ_DICT</p>
 * @author zhanghaonan
 * @date 2021/01/26
 */
@ApiModel("医嘱执行频率字典")
@Accessors(chain = true)
@Data
@ToString
@TableName("PERFORM_FREQ_DICT")
public class PerformFreqDict implements Serializable {

    private static final long serialVersionUID = -3348339860579634624L;

    /** db_field: SERIAL_NO; desc: 序号：此序号反映了频率项目的排列顺序 */
    @ApiModelProperty("序号：此序号反映了频率项目的排列顺序")
    @TableField("SERIAL_NO")
    private Integer serialNo;

    /** `主键` db_field: FREQ_DESC; desc: 执行频率描述：执行频率的固定描述，如TID、3/日等，非空，唯一 */
    @ApiModelProperty("执行频率描述：执行频率的固定描述，如TID、3/日等，非空，唯一")
    @TableId
    @NotNull(message = "执行频率描述：执行频率的固定描述，如TID、3/日等，非空，唯一不能为空", groups = PrimaryGroup.class)
    @TableField("FREQ_DESC")
    private String freqDesc;

    /** db_field: FREQ_COUNTER; desc: 频率次数：执行频率的次数部分 */
    @ApiModelProperty("频率次数：执行频率的次数部分")
    @TableField("FREQ_COUNTER")
    private Integer freqCounter;

    /** db_field: FREQ_INTERVAL; desc: 频率间隔：执行频率的间隔部分 */
    @ApiModelProperty("频率间隔：执行频率的间隔部分")
    @TableField("FREQ_INTERVAL")
    private Integer freqInterval;

    /** db_field: FREQ_INTERVAL_UNITS; desc: 频率间隔单位：如日等，使用规范名称，本系统定义，见表4.31时间单位字典 */
    @ApiModelProperty("频率间隔单位：如日等，使用规范名称，本系统定义，见表4.31时间单位字典")
    @TableField("FREQ_INTERVAL_UNITS")
    private String freqIntervalUnits;

}